"identifying Reusable Functions Using Speciica- Tion Driven Program Slicing: a Case Study", 4.1 Visualization
نویسندگان
چکیده
Figure 10: Comparison of two diierent graph layouts for the same uses relation view: the rst contains cycles among layers, while the in the second cycles are reduced within the same layers. recognizers have no position on the diagram surface. Thus, display algorithms have to assign a position to each node of a graph, according to the kind of graph to be displayed. A heavily used layout for views computed by rec-ognizers is a hierarchy of components based on their connectors. Hierarchies are the natural representation for the graphs produced by many of the rec-ognizers available (such as UsesRec, CodeDepRec, CallGraphRec, etc.). To obtain a hierarchy layout, rst the graph has to be organized as a set of layers and then each node has to be assigned a position and displayed in the layout. To assign a hierarchical layer to each node of a generic graph, the LayersRec recognizer is available: it operates a transformation on the input graph corresponding to a clusterization of nodes into hierarchy levels. Presence of cycles within the input graph is handled by assigning all the nodes involved in a cycle to the same level, thus eliminating inter-layer cycles. In analogy with 26], cycles in a graph are detected by computing its strongly connected components 27]. Fig. 10 shows two diierent layouts to represent the uses relation among modules of a sample program. The rst layout, obtained using an algorithm that starts from unused modules and builds each layer as the set of modules used by the previous layer, contains cycles. In the second, computed with the LayersRec recognizer, cycles are reduced within the same layers, and the resulting graph is actually organized as a hierarchy of layers. For the visualization of system level views a hierarchical layout of components may not be a proper one, because components in this case represent independent interacting programs. At present, for such kind of views the system ooers a default layout that can be rearranged by hand. It is our belief that the proper visualization of such kind of information is hardly feasible without a certain degree of user interaction. We advocate an assisted approach to diagram layout, such as the one presented in 13], where support tools, like the magnet tool, allow the user to easily specify the placement of graph nodes. 5 Conclusions In this paper, an approach for the architectural analysis of software systems, together …
منابع مشابه
Extracting Reusable Funtions by Flow Graph-Based Program Slicing
An alternative approach to developing reusable components from scratch is to recover them from existing systems. In this paper, we apply program slicing, a program decomposition method, to the problem of extracting reusable functions from illstructured programs. As with conventional slicing first described by Weiser, a slice is obtained by iteratively solving data flow equations based on a prog...
متن کاملExtracting Reusable Software Architectures: A Slicing-Based Approach
An alternative approach to developing reusable components from scratch is to recover them from existing systems. Although numerous techniques have been proposed to recover reusable components from existing systems, most have focused on implementation code, rather than software architecture. In this paper, we apply architectural slicing to extract reusable architectures from existing architectur...
متن کاملA Slicing-based Approach to Extracting Reusable Software Architectures
An alternative approach to developing reusable components from scratch is to recover them from existing systems. Although numerous techniques have been proposed to recover reusable components from existing systems, most have focused on implementation code, rather than software architecture. In this paper, we apply architectural slicing to extract reusable architectural elements (i.e., component...
متن کاملSpeci cation Matching for Software Reuse : A Foundation
Using formal speciications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the well-deened syntax makes processing amenable to automation. We present speciica-tion matching as a method for classiication, retrieval, and modiication of reusable components. A software component is speciied...
متن کاملIdentifying and Ranking Development Drivers of Knowledge-based Technology-Driven Companies (Case study: Fars Province Science and Technology Park)
The purpose of this Study study is to identify and rank the development drivers of knowledge-based, technology-driven businesses. This work is conducted as a case study in Fars Province Science and Technology Park. It is a descriptive survey in terms of purpose since a part of its data is collected through questionnaires and is of surveying type because it describes the existing conditions. The...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996